package com.fire.control.system.module.device.service;

import com.fire.control.system.dto.UserDTO;
import com.fire.control.system.standard.BusinessInterfaceStandard;
import com.fire.control.system.support.protocol.comman.ResponseProtocol;
import com.fire.control.system.support.protocol.device.DeviceRequestProtocol;

/**
 * 
 * @ClassName:  GatewayService
 * @Description:  网关管理业务接口
 * @author:  xiechengguang
 * @date:  2017年6月27日 下午8:11:47
 *
 */
public interface GatewayService extends BusinessInterfaceStandard<DeviceRequestProtocol,ResponseProtocol> {
	
	
	/**
	 * 
	 * @Title: getGatewayList   
	 * @Description: 获取网关列表  
	 * @param:  requestProtocol     
	 * @return: ResponseProtocol      
	 * @throws
	 */
	public ResponseProtocol getGatewayList(DeviceRequestProtocol requestProtocol, UserDTO user);
	
	/**
	 * 
	 * @Title: searchGateways   
	 * @Description: 按条件搜索网关列表  
	 * @param:  requestProtocol      
	 * @return: ResponseProtocol      
	 * @throws
	 */
	public ResponseProtocol searchGateways(DeviceRequestProtocol requestProtocol, UserDTO user);
	
	/**
	 * 
	 * @Title: getGatewayInfo   
	 * @Description: 获取网关详细信息  
	 * @param:  requestProtocol      
	 * @return: ResponseProtocol      
	 * @throws
	 */
	public ResponseProtocol getGatewayInfo(DeviceRequestProtocol requestProtocol);
	
	/**
	 * 
	 * @Title: updateGatewayInfo   
	 * @Description: 修改网关信息  
	 * @param:  requestProtocol      
	 * @return: ResponseProtocol      
	 * @throws
	 */
	public ResponseProtocol updateGatewayInfo(DeviceRequestProtocol requestProtocol);
	
	
	
	
	/**
	 * 
	 * @Title: addDevice   
	 * @Description: 新增网关  
	 * @param:  requestProtocol      
	 * @return: ResponseProtocol      
	 * @throws
	 */
	public ResponseProtocol addGateway(DeviceRequestProtocol requestProtocol);
	
	/**
	 * 
	 * @Title: deleteGateway   
	 * @Description: 删除一个或一组网关  
	 * @param:  requestProtocol     
	 * @return: ResponseProtocol      
	 * @throws
	 */
	public ResponseProtocol deleteGateway(DeviceRequestProtocol requestProtocol);
	
	/**
	 * 
	 * @Title: searchGateways   
	 * @Description: 根据省、市、区、设备组获取其下的对应网关
	 * @param:  requestProtocol      
	 * @return: ResponseProtocol      
	 * @throws
	 */
	public ResponseProtocol getGatewaysByTreeId(DeviceRequestProtocol requestProtocol, UserDTO user);
	
	
}
